package com.lsh.oms.api.service.query;

import com.lsh.base.common.model.CommonResult;
import com.lsh.oms.api.model.base.OmsItemDc;
import com.lsh.oms.api.model.order.OrderHeadDTO;
import com.lsh.oms.api.model.other.OrderShippingHeadDto;

import java.util.List;

/**
 * @author peter
 */
public interface IFindOrderService {
	/**
	 *
	 * @param dto
	 * @return
	 */
	String getOrderInfo(OrderHeadDTO dto);

	/**
	 *
	 * @param dto
	 * @return
	 */
	CommonResult<Integer> getUserOrderNum(OrderHeadDTO dto);

	/**
	 *
	 * @param orderCode
	 * @param addressCode
	 * @param limit
	 * @return
	 */
	CommonResult getIsBeforeNumber(Long orderCode, Long addressCode, Integer limit);

	/**
	 *
	 * @param orderShippingHeadDto
	 * @return
	 */
	CommonResult<Object> getMoney(OrderShippingHeadDto orderShippingHeadDto);

	/**
	 *
	 * @param orderShippingHeadDto
	 * @return
	 */
	CommonResult<Integer> getOrderType(OrderShippingHeadDto orderShippingHeadDto);

	/**
	 *
	 * @param addressCode
	 * @return
	 */
	String getIntradayOrderByAddressCode(Long addressCode);

	/**
	 *
	 * @param orderCode
	 * @return
	 */
	String getOrderInfoForRefund(Long orderCode);

	/**
	 *
	 * @param orderCode
	 * @return
	 */
	CommonResult<List<OmsItemDc>> getOrderAtpInfo(Long orderCode);


	CommonResult<OrderHeadDTO> getOrderInfoByUid(Long userCode);
}
